Software programs typically must evolve to meet the changing needs of users. Accordingly, software developers generally continuously develop new versions of a given software program, for example, to add more features to a current version of the software program. Usually, there is only a single version of a software program on a computer system that users (and other software programs) interact with at any given time. If, however, more than one version or copy (two terms used interchangeably hereinafter) of a software program exists on the computer system, then users (and other computer programs) will need to know how to select which copy of the software program to interact with, and the users may have to, for example, change a particular software program to use a different driver other than a default driver. Such use of multiple versions of the same software program on a computer system adds quite a degree of complexity to using the multiple versions, as well as developing other software programs that may use the software program having multiple versions.
Accordingly, what is needed is an improved technique for users (or computer programs) to switch between multiple versions of a given software program. The present invention addresses such a need.